package com.gxa.learning.pc.mapper;

import com.gxa.learning.core.pojo.Feedback;
import tk.mybatis.mapper.common.Mapper;

import java.util.List;
import java.util.Map;

/**
 * @version E-learning
 * @Author lonny
 * @Date 2021/12/3 9:33
 */
public interface FeedbackMapper extends Mapper<Feedback> {


    /**
     * 查询项目详情
     *
     * @param id 项目id
     * @return 返回
     */
    Map<String, Object> findByDetails(String id);

    /**
     * 项目反馈率情况
     *
     * @param id 项目id
     * @return 返回结果
     */
    Map<String, Object> findFeedbackRatio(String id);

    /**
     * 当前项目培训人列表
     *
     * @param id          项目
     * @param userName    用户名
     * @param companyName 公司名
     * @param position    职位
     * @return List<Map < String, Object>>
     */
    List<Map<String, Object>> selectStudentList(String id, String userName, String companyName, String position);

    /**
     * 反馈表成本目录
     *
     * @param id 项目编号
     * @return 返回结果
     */
    List<Map<String, Object>> costList(String id);

    /**
     * 项目得分
     *
     * @param id 项目id
     * @return 返回结果
     */
    Map<String, Object> scoreRatio(String id);

    /**
     * 用户报名成功之后反馈表同时添加一条数据
     *
     * @param userId    用户
     * @param projectId 项目
     * @return Map<String, Object>
     */
    Map<String, Object> getUserState(Long userId, Long projectId);


    /**
     * 查询用户培训反馈的方法
     *
     * @param id
     * @return
     */
    List<Map> getFeedBack(Long id);

    /**
     * 查询用户课程反馈的方法
     *
     * @param id
     * @return
     */
    List<Map> getCourseFeedBack(Long id);

    /**
     * 提醒用户反馈
     *
     * @param userId    用户
     * @param projectId 项目
     * @return 影响行数
     */
    int remindFeedBack(String userId, String projectId);

    /**
     * 查询是否反馈
     *
     * @param userId    用户
     * @param projectId 项目
     * @return 影响行数
     */
    Feedback findByUserAndProject(String userId, String projectId);

}
